// 添加测试帖子数据脚本
const { User, Post } = require('./db');
const mongoose = require('mongoose');

// 测试帖子数据
const testPosts = [
  {
    title: '二手自行车出售',
    content: '九成新山地自行车，骑行不到100公里，因搬家急售，价格可议。有意者请联系我。',
    images: ['https://example.com/bike1.jpg', 'https://example.com/bike2.jpg'],
    type: '二手转让',
    state: '发布中'
  },
  {
    title: '求助：寻找东宁本地导游',
    content: '计划下周末游览东宁景点，希望能找个熟悉当地的向导，有偿，请私信联系。',
    images: [],
    type: '求助',
    state: '发布中'
  },
  {
    title: '东宁美食推荐',
    content: '整理了东宁十大必吃美食，都是本地人推荐的，分享给大家！详情见图片。',
    images: ['https://example.com/food1.jpg', 'https://example.com/food2.jpg', 'https://example.com/food3.jpg'],
    type: '信息分享',
    state: '发布中'
  },
  {
    title: '交友：寻找摄影爱好者',
    content: '热爱摄影的80后，想寻找志同道合的朋友一起外出拍摄，互相学习技巧。',
    images: ['https://example.com/photo.jpg'],
    type: '交友',
    state: '发布中'
  },
  {
    title: '已售出：二手冰箱',
    content: '海尔冰箱已经卖出，谢谢大家关注！',
    images: ['https://example.com/fridge.jpg'],
    type: '二手转让',
    state: '结束'
  }
];

// 主函数
async function addTestData() {
  try {
    // 查找第一个用户
    const users = await User.find({}).limit(1);
    
    if (users.length === 0) {
      console.log('没有找到用户，请先创建用户');
      return;
    }
    
    const user = users[0];
    console.log(`使用用户 openid: ${user.openid} 添加测试帖子`);
    
    // 为每个测试帖子添加用户ID
    const postsWithUser = testPosts.map(post => ({
      ...post,
      openid: user.openid,
      time: new Date(),
      likeCount: Math.floor(Math.random() * 50),
      commentCount: Math.floor(Math.random() * 20)
    }));
    
    // 插入测试帖子
    const result = await Post.insertMany(postsWithUser);
    console.log(`成功添加 ${result.length} 条测试帖子`);
    
    // 更新用户的帖子计数
    await User.findOneAndUpdate(
      { openid: user.openid },
      { $inc: { postCount: result.length } }
    );
    console.log(`已更新用户帖子计数 +${result.length}`);
    
    console.log('测试数据添加完成');
  } catch (error) {
    console.error('添加测试数据失败:', error);
  } finally {
    // 关闭数据库连接
    mongoose.connection.close();
  }
}

// 执行主函数
addTestData(); 